package io.nutz.nutzsite.module.acm.models;

import java.io.Serializable;
import java.util.Date;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.nutz.dao.entity.annotation.ColDefine;
import org.nutz.dao.entity.annotation.ColType;
import org.nutz.dao.entity.annotation.Column;
import org.nutz.dao.entity.annotation.Comment;
import org.nutz.dao.entity.annotation.Id;
import org.nutz.dao.entity.annotation.Table;
		
/**
 * ACM竞赛表 acm_contest
 * 
 * @author lrw
 * @date 2020-02-16
 */
@Table("contest")
public class Contest implements Serializable {
	private static final long serialVersionUID = 1L;
	
			@Id
		@Column("contest_id")
	@Comment("赛事编号")
	private Integer id;

			/** 比赛名称 */
	@Column("title")
	@Comment("比赛名称")
	private String title;

			/** 开始时间 */
	@Column("start_time")
	@Comment("开始时间")
	private Date startTime;

			/** 结束时间 */
	@Column("end_time")
	@Comment("结束时间")
	private Date endTime;

			/** 赛事说明 */
	@Column("description")
	@Comment("赛事说明")
	private String description;

			/** 入赛密码 */
	@Column("password")
	@Comment("入赛密码")
	private String password;

			/** 创建者 */
	@Column("create_user")
	@Comment("创建者")
	private String createUser;

			/** 是否锁定 */
	@Column("defunct")
	@Comment("是否锁定")
	private boolean defunct;

			/** 创建时间 */
	@Column("create_time")
	@Comment("创建时间")
	private Date createTime;

			/** 开始注册时间 */
	@Column("start_reg")
	@Comment("开始注册时间")
	private Date startReg;

			/** 结束注册时间 */
	@Column("end_reg")
	@Comment("结束注册时间")
	private Date endReg;

			/** 类型 */
	@Column("type")
	@Comment("类型")
	private Integer type;

	


	public Integer getId() {
				return id;
			}

			public void setId(Integer id) {
				this.id = id;
			}

	public void setTitle(String title) 
	{
		this.title = title;
	}

	public String getTitle() 
	{
		return title;
	}

	public void setStartTime(Date startTime) 
	{
		this.startTime = startTime;
	}

	public Date getStartTime() 
	{
		return startTime;
	}

	public void setEndTime(Date endTime) 
	{
		this.endTime = endTime;
	}

	public Date getEndTime() 
	{
		return endTime;
	}

	public void setDescription(String description) 
	{
		this.description = description;
	}

	public String getDescription() 
	{
		return description;
	}

	public void setPassword(String password) 
	{
		this.password = password;
	}

	public String getPassword() 
	{
		return password;
	}

	public void setCreateUser(String createUser) 
	{
		this.createUser = createUser;
	}

	public String getCreateUser() 
	{
		return createUser;
	}

	public boolean isDefunct() {
		return defunct;
	}

	public void setDefunct(boolean defunct) {
		this.defunct = defunct;
	}

	public void setCreateTime(Date createTime) 
	{
		this.createTime = createTime;
	}

	public Date getCreateTime() 
	{
		return createTime;
	}

	public void setStartReg(Date startReg) 
	{
		this.startReg = startReg;
	}

	public Date getStartReg() 
	{
		return startReg;
	}

	public void setEndReg(Date endReg) 
	{
		this.endReg = endReg;
	}

	public Date getEndReg() 
	{
		return endReg;
	}

	public void setType(Integer type) 
	{
		this.type = type;
	}

	public Integer getType() 
	{
		return type;
	}

	@Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("contestId", getId())
            .append("title", getTitle())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("description", getDescription())
            .append("password", getPassword())
            .append("createUser", getCreateUser())
            .append("defunct", isDefunct())
            .append("createTime", getCreateTime())
            .append("startReg", getStartReg())
            .append("endReg", getEndReg())
            .append("type", getType())
            .toString();
    }
}
